package com.penghaisoft.microwms.base.web.factory.dao;

import com.penghaisoft.microwms.common.base.model.BaseFactoryUser;
import com.penghaisoft.microwms.common.base.model.BaseFactoryUserKey;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description 工厂用户关系处理
 * @author luoteng
 * @date 2017年5月24日 上午10:49:16
 * @version 1.0
 */
public interface BaseFactoryUserMapper {
	/**
	 * @Title deleteByPrimaryKeyOne
	 * @Description 根据工厂ID删除工厂用户关系
	 * @author luoteng
	 * @date 2017年5月24日 上午10:50:32
	 * @param key
	 * @return int
	 */
	int deleteByPrimaryKeyOne(BaseFactoryUserKey key);

	/**
	 * @Title deleteByPrimaryKey
	 * @Description 根据工厂ID、用户ID删除工厂用户关系
	 * @author luoteng
	 * @date 2017年5月24日 上午10:50:58
	 * @param key
	 * @return int
	 */
	int deleteByPrimaryKey(BaseFactoryUserKey key);

	/**
	 * @Title insert
	 * @Description 工厂用户关系插入
	 * @author luoteng
	 * @date 2017年5月24日 上午10:51:13
	 * @param record
	 * @return int
	 */
	int insert(BaseFactoryUserKey record);

	/**
	 * @Title insertSelective
	 * @Description 工厂用户关系插入
	 * @author luoteng
	 * @date 2017年5月24日 上午10:51:35
	 * @param record
	 * @return int
	 */
	int insertSelective(BaseFactoryUserKey record);

	/**
	 * @Title queryFactoryUser
	 * @Description 根据用户ID、工厂ID获取工厂用户关系
	 * @author luoteng
	 * @date 2017年5月24日 上午10:52:39
	 * @param record
	 * @return List<BaseFactoryUser>
	 */
	List<BaseFactoryUser> queryFactoryUser(BaseFactoryUserKey record);

	/**
	 * @Title insertFactoryUserBatch
	 * @Description 批量插入工厂用户关系
	 * @author luoteng
	 * @date 2017年5月24日 上午10:53:29
	 * @param list
	 * @return int
	 */
	int insertFactoryUserBatch(List<BaseFactoryUserKey> list);

	int deleteByUserId(@Param("userId") String userId);

	/**
	 * 查询工厂组下的用户
	 * @param factoryGroupCode
	 * @return
	 */
	@Deprecated
	List<BaseFactoryUserKey> queryFactoryGroupUser(@Param("factoryGroupCode") String factoryGroupCode);
}